4d61bc17b9c37a041945a5fde447ac237b759d78,java/java-impl/src/com/intellij/codeInsight/template/postfix/templates/NewExpressionPostfixTemplate.java,NewExpressionPostfixTemplate,expand,#PsiElement#Editor#,31
Before Change
PsiElementFactory factory = JavaPsiFacade.getInstance(context.getProject()).getElementFactory();
PsiNewExpression newExpression = (PsiNewExpression)factory.createExpressionFromText(template, context);
PsiElement replace = ((PsiJavaReference)ref).getElement().replace(newExpression);
replace.getNode().addLeaf(JavaTokenType.SEMICOLON, ";", null);
int offset = calculateOffset((PsiNewExpression)replace, accessibility, typeRequiresRefinement);
editor.getCaretModel().moveToOffset(offset);
}
After Change
ASTNode existingSemicolon = statement instanceof CompositeElement
? ((CompositeElement)statement).findChildByRole(ChildRole.CLOSING_SEMICOLON)
: null;
if (statement == null || existingSemicolon == null) {
replace.getNode().addLeaf(JavaTokenType.SEMICOLON, ";", null);
}
int offset = calculateOffset((PsiNewExpression)replace, accessibility, typeRequiresRefinement);
editor.getCaretModel().moveToOffset(offset);